package 函数式接口.Stream流的常用方法;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import java.util.stream.Stream;

/**
 * 终结方法
 */
public class Test02 {


    public static void main(String[] args) {
        System.out.println("=======skip=======");

        List<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");


        Stream<String> stream = list.stream();

//        method01(stream);

        method02(stream);

    }

    private static void method02(Stream<String> stream) {
        // 终结方法，后续不能再流式调用
        long count = stream.count();
        System.out.println(count);

        stream.sorted().limit(1).forEach(string -> System.out.println(string));
    }

    private static void method01(Stream<String> stream) {
        // 终结方法，后续不能再流式调用
//        stream.forEach(new Consumer<String>() {
//            @Override
//            public void accept(String string) {
//                System.out.println(string);
//            }
//        });

        // 终结方法，后续不能再流式调用
        stream.forEach(string -> System.out.println(string));

        long count = stream.count();
        System.out.println(count);
    }
}
